Разработка Android-приложений в деталях - Тимур Машнин
Шрифт:
Интервал:
Закладка:
Дочерний тэг <data> (элемент Data) тэга <intent-filter> описывает, какие данные могут быть переданы Intent-объектом Android-компоненту. При выборе элемента Data кнопкой Add, во вкладке Application появляется раздел Attributes for Data, позволяющий определить атрибуты тэга <data> с помощью полей Mime type (атрибут android: mimeType указывает MIME-тип данных Intent-объекта), Scheme, Host, Port, Path, Path prefix, Path pattern (URI-адрес данных в формате scheme://host: port/path, атрибуты android: scheme, android: host, android: port, android: path, android: pathPrefix, android: pathPattern).
Тэг <meta-data> (элемент Meta Data) позволяет добавить дополнительные данные к Android-компоненту, доступ к которым можно получить программным способом:
ApplicationInfo ai = getPackageManager().getApplicationInfo(activity.getPackageName (), PackageManager.GET_META_DATA);
Bundle bundle = ai.metaData;
String myValue = bundle.getString («myKey»);
При выборе элемента Meta Data кнопкой Add, во вкладке Application появляется раздел Attributes for Meta Data, позволяющий определить атрибуты тэга <meta-data> с помощью полей Name (атрибут android: name определяет имя элемента метаданных), Value (атрибут android: value определяет значение элемента метаданных), Resource (атрибут android: resource указывает ссылку на ресурс).
Тэг <activity-alias> (элемент Activity Alias) обеспечивает запуск целевого Activity-компонента под другим именем, меткой, с другим Intent-фильтром. При выборе элемента Activity Alias кнопкой Add, во вкладке Application появляется раздел Attributes for Activity Alias, позволяющий определить атрибуты тэга <activity-alias> с помощью полей и списков:
Name (атрибут android: name указывает псевдоним для целевого Activity-компонента),
Target activity (атрибут android: targetActivity указывает имя целевого Activity-компонента),
Label (атрибут android: label определяет метку псевдонима),
Description (атрибут android: description определяет описание псевдонима),
Icon (атрибут android: icon указывает значок псевдонима),
Logo (атрибут android: logo определяет логотип панели ActionBar),
Permission (атрибут android: permission указывает разрешение, которое должно иметь стороннее Android-приложение для вызова Activity-компонента через псевдоним),
Enabled (атрибут android: enabled указывает возможность создания экземпляра целевого Activity-компонента через псевдоним),
Exported (атрибут android: exported указывает возможность запуска целевого Activity-компонента сторонними Android-приложениями через псевдоним).
Parent activity name – определяет значение атрибута android: parentActivityName, указывающее имя класса Activity-компонента, являющегося логическим родителем данному Activity-компоненту и к которому будет осуществляться переход с помощью кнопки Up.
Тэг <provider> (элемент Provider) описывает ContentProvider-компонент приложения (класс, расширяющий класс android.content.ContentProvider), обеспечивающий управление данными приложения. При выборе элемента Provider кнопкой Add, во вкладке Application появляется раздел Attributes for Provider c полями и списками, позволяющий определить атрибуты тэга <provider>.
Поле со ссылкой Name при нажатии открывает мастер создания Java-класса, расширяющего класс android.content.ContentProvider. Созданный ContentProvider-компонент указывается в качестве значения атрибута android: name.
Поля Label, Description, Icon, Logo, Process, Permission, Multiprocess, Enabled, Exported элемента Provider работают аналогично соответствующим полям элемента Activity раздела Application Nodes вкладки Application.
Поле Authorities элемента Provider определяет значение атрибута android: authorities тэга <provider>, указывающего один или несколько URI-адресов, идентифицирующих для Android-системы ContentProvider-компонент.
Список Syncable определяет значение атрибута android: syncable тэга <provider> – если true, тогда данные ContentProvider-компонента синхронизированы с данными сервера.
Поле Read permission и поле Write permission определяют значения атрибутов android: readPermission и android: writePermission, указывающих разрешения, необходимые для чтения и изменения данных ContentProvider-компонента.
Поле Grand URI permissions определяет значение атрибута android: grantUriPermissions – если true, тогда приложению, вызывающему ContentProvider-компонент Intent-объектом с флагами FLAG_GRANT_READ_URI_PERMISSION и FLAG_GRANT_WRITE_URI_PERMISSION, предоставляется одноразовый доступ к данным.
Поле Init order определяет значение атрибута android: initOrder, указывающего номер в очереди инициализации ContentProvider-компонентов приложения.
Дочерний тэг <grant-uri-permission> (элемент Grant Uri Permission) тэга <provider> указывает URI-адрес ContentProvider-компонента, к которому может быть дан одноразовый доступ стороннему приложению, с помощью полей Path, Path prefix и Path pattern, определяющих значения атрибутов android: path, android: pathPrefix и android: pathPattern.
Дочерний тэг <path-permission> (элемент Path Permission) тэга <provider> указывает для URI-адреса ContentProvider-компонента разрешения доступа к его данным сторонним приложениям, используя поля Path, Path prefix, Path pattern, Permission, Read permission, Write permission, определяющих значения атрибутов android: path, android: pathPrefix, android: pathPattern, android: permission, android: readPermission и android: writePermission.
Тэг <receiver> (элемент Receiver) описывает BroadcastReceiver-компонент приложения (класс, расширяющий класс android.content.BroadcastReceiver), позволяющий обрабатывать Intent-объекты, посылаемые широковещательным способом Android-системой или другими приложениями. При выборе элемента Receiver кнопкой Add, во вкладке Application появляется раздел Attributes for Receiver c полями и списками, позволяющий определить атрибуты тэга <receiver>. Поле со ссылкой Name при нажатии открывает мастер создания Java-класса, расширяющего класс android.content.BroadcastReceiver. Созданный BroadcastReceiver-компонент указывается в качестве значения атрибута android: name.
Поля Label, Description, Icon, Logo, Process, Permission, Enabled, Exported элемента Receiver работают аналогично соответствующим полям элемента Activity раздела Application Nodes вкладки Application.
Тэг <service> (элемент Service) описывает Service-компонент приложения (класс, расширяющий класс android.app.Service), предназначенный для выполнения продолжительных операций без предоставления GUI-интерфейса. При выборе элемента Service кнопкой Add, во вкладке Application появляется раздел Attributes for Service c полями и списками, позволяющий определить атрибуты тэга <service>. Поле со ссылкой Name при нажатии открывает мастер создания Java-класса, расширяющего класс android.app.Service. Созданный Service-компонент указывается в качестве значения атрибута android: name. Поля Label, Description, Icon, Logo, Process, Permission, Enabled, Exported элемента Service работают аналогично соответствующим полям элемента Activity раздела Application Nodes вкладки Application.
Список Stop with task элемента Service определяет значение атрибута android: stopWithTask тэга <service> – если true, тогда сервис автоматически завершит свою работу при удалении пользователем задачи приложения, по умолчанию false.
Список Isolated process элемента Service определяет значение атрибута android: isolatedProcess – если true, тогда сервис будет работать в изолированном процессе, не имеющим те разрешения, которые даны остальной части приложения.
Тэг <uses-library> (элемент Uses Library) указывает Android-библиотеку, которая требуется для работы приложения. При выборе элемента Uses Library кнопкой Add, во вкладке Application появляется раздел Attributes for Uses Library c полями и списками, позволяющий определить атрибуты тэга <uses-library>. Поле Name определяет значение атрибута android: name, указывающего имя Android-библиотеки, с которой связано приложение, а список Required – значение атрибута android: required – если true (по умолчанию), тогда приложение не может работать и быть инсталлированным без наличия указанной библиотеки в устройстве.
Вкладка Permissions ADT-редактора файла AndroidManifest. xml с помощью кнопки Add обеспечивает добавление в тэг <manifest> тэгов <permission> (элемент Permission), <permission-group> (элемент Permission Group), <permission-tree> (элемент Permission Tree), <uses-permission> (элемент Uses Permission).
Тэг <permission> (элемент Permission) позволяет объявить пользовательское разрешение, которое должно получить стороннее приложение для доступа к Android-компонентам данного приложения. При выборе элемента Permission кнопкой Add, во вкладке Permissions появляется раздел Attributes for Permission c полями и списками, позволяющими определить атрибуты тэга <permission>.
Поля Name, Label, Description, Icon и Logo определяют значения атрибутов android: name, android: label, android: description, android: icon и android: logo, указывающих имя, метку, описание, значок и логотип пользовательского разрешения.